package com.alks.function.service.finance.ryfinance;

import com.alks.entity.data.entity.PcCostTemp;
import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.request.finance.ryfinance.*;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 财务部-荣阳财务-费用结算作业
 * @author MS
 */
public interface IBillFessService {
    /**
     * 费用明细输入查询
     * @return
     */
    ResponseInfo costTempQuery();

    /**
     * 费用明细输入新增
     * @param request
     * @return
     */
    ResponseInfo costTempAdd(PcCostTemp request);

    /**
     * 费用明细输入数据修改
     */
    void costTempUpdate(PcCostTemp request);

    /**
     * 费用明细输入数据删除
     * @param item
     * @return
     */
    ResponseInfo costTempDelete(Integer item);

    /**
     * 费用查询明细
     *
     * @param request
     * @return
     */
    Map<String, Object> costDetailQuery(CostDetailQueryRequest request);

    /**
     * 费用明细增加
     * @param request
     * @return
     */
    ResponseInfo costTempToDetail(CostTempToDetailRequest request);

    /**
     * 费用明细修改/扣款
     * @param request
     * @param type
     * @return
     */
    ResponseInfo costDetailToTemp(List<CostDTTRequest> request, Integer type);

    /**
     * 费用明细更新(包括结算)
     *
     * @param request
     * @param financeType
     * @param financeYymm
     * @return
     */
    ResponseInfo costDetailUpdate(List<CostDetUpRequest> request, Integer financeType, String financeYymm);

    /**
     *
     * @param slipNo
     * @param item
     * @return
     */
    ResponseInfo costDetailDelete(String slipNo, BigDecimal item);

}
